/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package clases;

/**
 *
 * @author Edder
 */
public class Usuario {
    private int idUsuario;
    private TipoUsuario tipoUsuario;
    private String nombre;

    public Usuario() {
    }

    public Usuario(int idUsuario, TipoUsuario tipoUsuario, String nombre) {
        this.idUsuario = idUsuario;
        this.tipoUsuario = tipoUsuario;
        this.nombre = nombre;
    }

    public int getIdUsuario() {
        return idUsuario;
    }

    public void setIdUsuario(int idUsuario) {
        this.idUsuario = idUsuario;
    }

    public TipoUsuario getTipoUsuario() {
        return tipoUsuario;
    }

    public void setTipoUsuario(TipoUsuario tipoUsuario) {
        this.tipoUsuario = tipoUsuario;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }
    
    @Override
    public String toString(){
        return this.nombre;
    }

    public boolean tienePermiso(int permiso, int accion){
        switch(permiso){
            case TipoUsuario.MOVIMIENTO:
                return (this.tipoUsuario.getP_movimiento() & accion) == accion;
            case TipoUsuario.VENTA:
                return (this.tipoUsuario.getP_venta() & accion) == accion;
            case TipoUsuario.COMPROBANTE:
                return (this.tipoUsuario.getP_comprobante() & accion) == accion;
            case TipoUsuario.ORDEN_COMPRA:
                return (this.tipoUsuario.getP_ordenCompra() & accion) == accion;
            case TipoUsuario.COMPRA:
                return (this.tipoUsuario.getP_compra() & accion) == accion;
            case TipoUsuario.MOVIMIENTO_CAJA:
                return (this.tipoUsuario.getP_movimiento_caja()& accion) == accion;
            default:
                return false;
        }
    }
}
